package Arrays101.Day03;

public class Day03_1 {
    public static void main(String[] args) {
        System.out.println(removeElement(new int[]{3,2,2,3},3));

    }

    /**
     * Remove Element
     *
     * Given an array nums and a value val, remove all instances of that value in-place
     * and return the new length.
     * Do not allocate extra space for another array, you must do this by modifying the
     * input array in-place with O(1) extra memory.
     * The order of elements can be changed. It doesn't matter what you leave beyond the new length.
     * @param nums
     * @param val
     * @return
     */
    public static int removeElement(int[] nums, int val){
        int temp=0;
        for (int i = 0; i < nums.length; i++) {
            if (nums[i]!=val){
                nums[temp++]=nums[i];
            }
        }
        // for (int i = 0; i < nums.length ; i++) {
        //     System.out.println(nums[i]);
        // }
        return temp;

    }
}
